﻿#ifndef LAYER_H
#define LAYER_H
#include <string>
#include <vector>
namespace Entities
{
class Layer
{
public:
    Layer();
    Layer(const std::string& name,int flags,bool off,int color, int width);
    ~Layer();
    Layer(const Layer &layer);
private:
    /** Layer name. */
    std::string m_name;
    /** Layer flags. (1 = frozen, 2 = frozen by default, 4 = locked) */
    int m_flags;
    /** Layer is off */
    bool m_off;
    /** Layer color */
    int m_color;
    /** line width */
    int m_width;

    /** line type */
    std::string m_linetype;

public :
    const std::string & GetName()const {return m_name;}
    int GetFlags()const{return m_flags;}
    bool IsOff()const{return m_off;}
    int GetColor()const{return m_color;}
    int GetWidth()const{return m_width;}
    std::string GetLineType()const{return m_linetype;}
    void SetLineType(std::string stype);
    Layer* Clone();
public:
    Layer& operator=(const Layer&layer);
};
}
#endif // LAYER_H
